import { debounce } from "./utils";
import BackTop from "components/content/backTop/BackTop";


// 混入
export const itemListenerMixin = {
  data() {
    return {
      // 监听图片加载完的函数
      itemImgListener: null,
      // 保存防抖刷新的函数
      refresh: null
    }
  },
  mounted() {
    // 1.图片加载完成的事件监听
    // 防抖动操作，防止refresh频繁操作
    // 把this.$refs.scroll.refresh()这个函数传进去
    this.refresh = debounce(this.$refs.scroll.refresh, 100);

    // 对监听的事件进行保存
    this.itemImgListener = () => {
      this.refresh();
    };
    // 事件总线 发射:this.$bus.$emit('aaaa')  接收:this.$bus.$on('aaaa',function)
    this.$bus.$on("itemImageLoad", this.itemImgListener);
  }
}

// 回到顶部
export const backTopMixin = {
  components: {
    BackTop
  },
  data() {
    return {
      isShowBackTop: false,
    }
  },
  methods: {
    // 回到顶部点击
    backClick() {
      // 先拿到有这个ref="scroll"的scroll
      this.$refs.scroll.scrollTo(0, 0, 800);
    },
  }
}